﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;

//using Pibby.Core.Views;


//namespace Pibby.Core.Tests.Stubs
//{
//    public class ProgressIndicator : IProgressView
//    {
//        public event EventHandler Initialising;
//        public event EventHandler InitialiseComplete;
//        public event EventHandler Canceled;

//        public string Headline;
//        public string Title;
//        public string Detail;
//        public int PercentComplete;
//        public bool ShutdownCalled;
//        private bool CancelCalled;

//        public void Start()
//        {
//            this.ShutdownCalled = false;
//            this.CancelCalled = false;

//            this.SimulateFormLoad();

//            while (!this.ShutdownCalled)
//            {
//                System.Threading.Thread.Sleep(100);
//            }
//        }

//        public void ShowHeadline(string text)
//        {
//            this.Headline = text;
//        }

//        public void ShowTitle(string text)
//        {
//            this.Title = text;
//        }

//        public void ShowDetail(string text)
//        {
//            this.Detail = text;
//        }

//        public void ShowProgress(object sender, ProgressEventArgs e)
//        {
//            this.PercentComplete = e.PercentComplete;
//        }

//        public void ShowProgressDetail(object sender, ProgressDetailEventArgs e)
//        {
//            this.Title = e.Title;
//            this.Detail = e.Detail;
//        }

//        public void Stop()
//        {
//            this.ShutdownCalled = true;
//        }

//        public void Cancel()
//        {
//            this.CancelCalled = true;
//        }

//        public void Dispose()
//        {
//            // nothing
//        }

//        public void SimulateFormLoad()
//        {
//            this.ShutdownCalled = false;
//            this.CancelCalled = false;

//            EventHandler initStart = Initialising;

//            if (initStart != null)
//                initStart(this, EventArgs.Empty);

//            EventHandler initComplete = InitialiseComplete;

//            if (initComplete != null)
//                initComplete(this, EventArgs.Empty);
//        }

//        public void SimulateCancel()
//        {
//            EventHandler cancel = Canceled;

//            if (cancel != null)
//                cancel(this, EventArgs.Empty);

//            this.ShutdownCalled = true;
//            this.CancelCalled = true;
//        }

//        public bool WasCanceled
//        {
//            get { return this.CancelCalled; }
//        }
//    }
//}
